const { app, BrowserWindow, ipcMain } = require('electron');
const path = require('path');

let mainWindow;

/**
 * 获取应用根目录
 * @author zoulei
 */
function getAppRoot() {
  // 在开发环境中使用__dirname，在打包环境中使用app.getAppPath()
  if (app.isPackaged) {
    // 在打包环境中，extraResources文件会被放在resources目录中
    return path.join(path.dirname(app.getPath('exe')), 'resources');
  } else {
    return path.join(__dirname, '..');
  }
}

/**
 * 创建主窗口
 * @author zoulei
 */
function createWindow() {
  mainWindow = new BrowserWindow({
    width: 800,
    height: 600,
    resizable: true,
    webPreferences: {
      nodeIntegration: false,
      contextIsolation: true
    },
    icon: path.join(__dirname, 'assets', 'icon.png'),
    title: 'SVG转图片工具'
  });

  const appRoot = getAppRoot();
  const htmlPath = path.join(appRoot, 'public', 'index.html');
  
  console.log('加载HTML文件:', htmlPath);
  mainWindow.loadFile(htmlPath);

  // 开发模式下打开开发者工具
  if (process.argv.includes('--dev')) {
    mainWindow.webContents.openDevTools();
  }

  mainWindow.on('closed', () => {
    mainWindow = null;
  });
}

// 应用事件
app.whenReady().then(createWindow);

app.on('window-all-closed', () => {
  if (process.platform !== 'darwin') {
    app.quit();
  }
});

app.on('activate', () => {
  if (BrowserWindow.getAllWindows().length === 0) {
    createWindow();
  }
}); 